package com.yamaikeji.system.service.plan;

import com.yamaikeji.system.domain.plan.PlanTask;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * 子任务Service接口
 * 
 * @author yamaikeji
 * @date 2024-12-27
 */
public interface IPlanTaskService {

    /**
     * 查询子任务列表
     * 
     * @param planTask 子任务
     * @return 子任务集合
     */
    List<PlanTask> selectPlanTaskList(PlanTask planTask);

    /**
     * 查询子任务
     *
     * @param planTask 子任务
     * @return 子任务
     */
    PlanTask selectPlanTask(PlanTask planTask);

    /**
     * 新增子任务
     * 
     * @param planTask 子任务
     * @return 结果
     */
    int insertPlanTask(PlanTask planTask);

    /**
     * 批量新增子任务
     *
     * @param planTasks 子任务列表
     * @return 结果
     */
    int batchInsertPlanTask(List<PlanTask> planTasks);

    /**
     * 修改子任务
     * 
     * @param planTask 子任务
     * @return 结果
     */
    int updatePlanTask(PlanTask planTask);

    /**
     * 批量修改子任务
     *
     * @param param
     * @return
     */
    int batchUpdatePlanTask(Map<String, Object> param);

    /**
     * 删除子任务
     * 
     * @param planTask 子任务
     * @return 结果
     */
    int deletePlanTask(PlanTask planTask);

    /**
     * 批量删除子任务
     *
     * @param param
     * @return
     */
    int batchDeletePlanTask(Map<String, Object> param);
}
